package com.cmc.cloud.cmclink.doc.service.si;

import java.util.Collection;
import java.util.List;

import com.cmc.cloud.cmclink.doc.entity.BlnoFreightDetailDO;

/**
 * 海运费附加费详情 Service 接口
 *
 * @author 集运管理员
 */
public interface BlnoFreightDetailService {

    /**
     * 删除海运费附加费详情
     *
     * @param id 编号
     */
    void deleteBlnoFreightDetail(Long id);

    /**
     * 删除海运费附加费详情
     *
     * @param ids 编号
     */
    void deleteByBlnoIdList(Collection<Long> ids);

    /**
     * 批量插入
     *
     * @param detailDOList DO对象
     */
    void insertBatchFreight(List<BlnoFreightDetailDO> detailDOList);

    /**
     * 获得海运费附加费详情
     *
     * @param id 编号
     * @return 海运费附加费详情
     */
    BlnoFreightDetailDO getBlnoFreightDetail(Long id);

    /**
     * 获得海运费附加费详情列表
     *
     * @param ids 编号
     * @return 海运费附加费详情列表
     */
    List<BlnoFreightDetailDO> getBlnoFreightDetailList(Collection<Long> ids);

    /**
     * 获得海运费附加费详情列表
     *
     * @param blnoId 提单号id
     * @return 海运费附加费详情列表
     */
    List<BlnoFreightDetailDO> getBlnoFreightDetailByBlonId(Long blnoId);

    /**
     * 获得海运费附加费详情列表
     *
     * @param blnoIds 提单号ids
     * @return 海运费附加费详情列表
     */
    List<BlnoFreightDetailDO> getBlnoFreightDetailByBlnoIdList(Collection<Long> blnoIds);
}
